package com.hb.core.pojo.project.notice.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hb.core.pojo.Attachments;
import com.hb.core.pojo.OrganizeInfo;
import com.hb.core.pojo.project.notice.entity.TenderInviteEnterprise;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * describe:
 *
 * @author zhongdl
 * @date 2021/09/11
 */
@Getter
@Setter
public class TenderInviteEnterpriseDTO extends TenderInviteEnterprise {

    @ApiModelProperty(value = "项目id")
    private Long projectId;

    @ApiModelProperty(value = "项目编号")
    private String projectCode;

    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @ApiModelProperty(value = "方案(包)编号")
    private String sectionCode;

    @ApiModelProperty(value = "方案(包)名称")
    private String sectionName;

    @ApiModelProperty(value = "项目分类, 1: 工程, 2: 货物, 3: 服务(关联字典)")
    private String projectType;

    @ApiModelProperty(value = "项目分类名称")
    private String projectTypeName;

    @ApiModelProperty(value = "邀请书名称")
    private String noticeTitle;

    @ApiModelProperty(value = "邀请开始时间")
    private LocalDateTime invitationStartTime;

    @ApiModelProperty(value = "邀请截至时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime invitationEndTime;

    @ApiModelProperty(value = "邀请状态名称")
    private String inviteStatusName;

    @ApiModelProperty(value = "签章后的邀请书正文")
    private Attachments signFile;

    @ApiModelProperty(value = "总人数")
    private Integer sumCount;

    @ApiModelProperty(value = "待反馈人数")
    private Integer waitCount;

    @ApiModelProperty(value = "确认人数")
    private Integer confirmCount;

    @ApiModelProperty(value = "拒绝人数")
    private Integer refuseCount;

    @ApiModelProperty(value = "附件")
    private Attachments attachment;

    /** 不知道为啥前端获取不到这个参数 */
    @ApiModelProperty(value = "代理机构信息")
    private OrganizeInfo agencyOrganizeInfo;

    @ApiModelProperty(value = "代理机构名称")
    private String agencyOrganizeName;
}
